// import React from 'react';
// import { Modal, Descriptions, Tag, Typography } from 'antd';
// import { TextDataResponseVO } from '../../../services/api/text';
// import {FILE_TYPES, LANGUAGES } from '../../../config/constants';
//
// interface TextDetailModalProps {
//     visible: boolean;
//     data: TextDataResponseVO | null;
//     onClose: () => void;
// }
//
// const { Text } = Typography;
//
// const TextDetailModal: React.FC<TextDetailModalProps> = ({
//                                                              visible,
//                                                              data,
//                                                              onClose
//                                                          }) => {
//     if (!data) return null;
//
//     // 获取文件类型对应的标签颜色
//     const getFileTypeColor = (fileType: number): string => {
//         const colorMap: Record<number, string> = {
//             1: 'blue',     // 用户直接输入
//             2: 'red',      // PDF
//             3: 'green',    // DOCX
//             4: 'orange',   // DOC
//             5: 'purple'    // TXT
//         };
//         return colorMap[fileType] || 'default';
//     };
//
//     return (
//         <Modal
//             title="文本详情"
//             open={visible}
//             onCancel={onClose}
//             footer={null}
//             width={800}
//             className="text-detail-modal"
//         >
//             <Descriptions bordered column={1}>
//                 <Descriptions.Item label="文本ID">{data.textId}</Descriptions.Item>
//
//                 <Descriptions.Item label="标题">
//                     <Text>{data.title || '-'}</Text>
//                 </Descriptions.Item>
//
//                 <Descriptions.Item label="内容">
//                     <div style={{
//                         whiteSpace: 'pre-wrap',
//                         maxHeight: '300px',
//                         overflowY: 'auto',
//                         padding: '8px',
//                         backgroundColor: '#f5f5f5',
//                         borderRadius: '4px'
//                     }}>
//                         {data.content}
//                     </div>
//                 </Descriptions.Item>
//
//                 <Descriptions.Item label="语言">
//                     <Tag color={data.language === 'zh' ? 'blue' : 'green'}>
//                         {LANGUAGES[data.language as keyof typeof LANGUAGES] || '未知'}
//                     </Tag>
//                 </Descriptions.Item>
//
//                 <Descriptions.Item label="文件类型">
//                     <Tag color={getFileTypeColor(data.fileType)}>
//                         {FILE_TYPES[data.fileType as keyof typeof FILE_TYPES] || '未知类型'}
//                     </Tag>
//                 </Descriptions.Item>
//
//                 <Descriptions.Item label="文件大小">
//                     {data.fileSize ? `${(data.fileSize / 1024).toFixed(2)} KB` : '-'}
//                 </Descriptions.Item>
//
//                 <Descriptions.Item label="创建时间">
//                     {data.createdAt ? new Date(data.createdAt).toLocaleString() : '-'}
//                 </Descriptions.Item>
//
//                 <Descriptions.Item label="更新时间">
//                     {data.updatedAt ? new Date(data.updatedAt).toLocaleString() : '-'}
//                 </Descriptions.Item>
//
//                 {data.creatorId && (
//                     <Descriptions.Item label="创建者ID">
//                         {data.creatorId}
//                     </Descriptions.Item>
//                 )}
//
//                 {data.modifierId && (
//                     <Descriptions.Item label="修改者ID">
//                         {data.modifierId}
//                     </Descriptions.Item>
//                 )}
//             </Descriptions>
//         </Modal>
//     );
// };
//
// export default TextDetailModal;
import React from 'react';
import { Modal, Descriptions, Tag, Typography } from 'antd';
import { TextDataResponseVO } from '../../../services/api/text';
import {FILE_TYPES, LANGUAGES } from '../../../config/constants';

interface TextDetailModalProps {
    visible: boolean;
    data: TextDataResponseVO | null;
    onClose: () => void;
}

const { Text } = Typography;

const TextDetailModal: React.FC<TextDetailModalProps> = ({
                                                             visible,
                                                             data,
                                                             onClose
                                                         }) => {
    if (!data) return null;

    const getFileTypeColor = (fileType: number): string => {
        const colorMap: Record<number, string> = {
            1: 'blue',     // 用户直接输入
            2: 'red',      // PDF
            3: 'green',    // DOCX
            4: 'orange',   // DOC
            5: 'purple'    // TXT
        };
        return colorMap[fileType] || 'default';
    };

    return (
        <Modal
            title="文本详情"
            open={visible}
            onCancel={onClose}
            footer={null}
            width={800}
            className="text-detail-modal"
        >
            <Descriptions bordered column={1}>
                <Descriptions.Item label="文本ID">{data.textId}</Descriptions.Item>

                <Descriptions.Item label="标题">
                    <Text>{data.title || '-'}</Text>
                </Descriptions.Item>

                <Descriptions.Item label="内容">
                    <div style={{
                        whiteSpace: 'pre-wrap',
                        maxHeight: '300px',
                        overflowY: 'auto',
                        padding: '8px',
                        backgroundColor: '#f5f5f5',
                        borderRadius: '4px'
                    }}>
                        {data.content}
                    </div>
                </Descriptions.Item>

                <Descriptions.Item label="语言">
                    <Tag color={data.language === 'zh' ? 'blue' : 'green'}>
                        {LANGUAGES[data.language as keyof typeof LANGUAGES] || '未知'}
                    </Tag>
                </Descriptions.Item>

                <Descriptions.Item label="文件类型">
                    <Tag color={getFileTypeColor(data.fileType)}>
                        {FILE_TYPES[data.fileType as keyof typeof FILE_TYPES] || '未知类型'}
                    </Tag>
                </Descriptions.Item>

                <Descriptions.Item label="文件路径">
                    {data.filePath || '-'}
                </Descriptions.Item>

                <Descriptions.Item label="创建时间">
                    {data.createdAt ? new Date(data.createdAt).toLocaleString() : '-'}
                </Descriptions.Item>

                <Descriptions.Item label="更新时间">
                    {data.updatedAt ? new Date(data.updatedAt).toLocaleString() : '-'}
                </Descriptions.Item>

                <Descriptions.Item label="创建者ID">
                    {data.creatorId}
                </Descriptions.Item>

                <Descriptions.Item label="用户ID">
                    {data.userId}
                </Descriptions.Item>
            </Descriptions>
        </Modal>
    );
};

export default TextDetailModal;
